package vista;

import java.awt.Color;
import java.awt.GridLayout;
import java.util.Collection;

import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

import modelo.Edificio;
import modelo.JuegoObservable;
import control.PanelOpVisitarActionListener;

public class PanelOpcionesVisitar extends JPanel{


	private static final long serialVersionUID = 1L;
	private JuegoObservable juego;
	private GameWindow ventanaAbierta;
	public static PanelInteractivo panelDePistas;
	private PanelDeAcciones panelDeAcciones;
	private Edificio[] building;
	private String[] opciones;
	private static PanelOpcionesVisitar instance;
	private JRadioButton r1,r2,r3;
	private ButtonGroup group;
	private Collection<Edificio> edificios;
	
	
	private PanelOpcionesVisitar (PanelDeAcciones panelac,JuegoObservable juegoIniciado,GameWindow ventana, PanelInteractivo panel_pistas){
		
		juego = juegoIniciado;
		ventanaAbierta = ventana;
		panelDeAcciones = panelac;
		PanelOpcionesVisitar.panelDePistas = panel_pistas;
		
		opciones = new String[3];
		building = new Edificio[3];
		 
		edificios = juego.obtenerEdificio();
		 
		 int i =0;
	
		 for(Edificio edificio: edificios){
			 opciones[i] = edificio.obtenerNombre();
			 building[i] = edificio;
			 i++;
		}
		
		setLayout(new GridLayout(0,1));
		setBackground(Color.black);

		r1 = new JRadioButton(opciones[0]);
		r2 = new JRadioButton(opciones[1]);
		r3 = new JRadioButton(opciones[2]);
		
		
		r1.addActionListener(new PanelOpVisitarActionListener(juego,ventanaAbierta, building, panelDeAcciones));
		r2.addActionListener(new PanelOpVisitarActionListener(juego,ventanaAbierta, building, panelDeAcciones));
		r3.addActionListener(new PanelOpVisitarActionListener(juego,ventanaAbierta, building, panelDeAcciones));
		
		r1.setActionCommand("boton1");
		r2.setActionCommand("boton2");
		r3.setActionCommand("boton3");
		
		
		r1.setBackground(Color.BLACK);
		r2.setBackground(Color.BLACK);
		r3.setBackground(Color.BLACK);
		
		r1.setForeground(Color.WHITE);
		r2.setForeground(Color.WHITE);
		r3.setForeground(Color.WHITE);
		
		group = new ButtonGroup();
		group.add(r1);
		group.add(r2);
		group.add(r3);
		
		add(r1);
		add(r2);
		add(r3);
		
	}

	public static PanelOpcionesVisitar getInstance (PanelDeAcciones panelDeAcciones,JuegoObservable juegoIniciado,GameWindow ventanaAbierta, PanelInteractivo panel_pistas){
		if(instance == null){
			instance = new PanelOpcionesVisitar(panelDeAcciones, juegoIniciado, ventanaAbierta, panel_pistas);
			
		}
		return instance;
	}
	public static void reiniciar(){
		instance = null;
	}
}


